External memory algorithm